Oracle®数据库
客户端安装指南
适用于Linux7 12c第2版(12.2)
1 Oracle数据库客户端安装清单
1.1 Linux上Oracle数据库客户端的操作系统清单
Oracle Database Client的最低操作系统要求。
- 具有Redhat兼容内核的Oracle Linux 7:3.10.0-123.el7.x86_64或更高版本
- Redhat Linux 7:3.10.0-123.el7.x86_64或更高版本
1.2 Oracle数据库客户端的服务器配置清单
1.2.1 分配给/tmp目录的磁盘空间:
> 400MB
1.2.2 相对于RAM的交换空间分配:
256 MB:RAM大小的3倍
介于256 MB和512 MB之间:RAM大小的2倍
512 MB和2 GB之间:RAM大小的1.5倍
2 GB到16 GB之间:等于RAM的大小
超过16 GB:16 GB
1.2.3 Oracle安装备份存储路径(oraInventory)和OINSTALL组要求
对于升级,Oracle Universal Installer(OUI)从/etc/oraInst.loc 文件中检测现有的oraInventory目录,并使用现有的oraInventory。
对于新安装,如果尚未配置oraInventory目录,则安装程序会创建一个Oracle清单,该目录是从Oracle基础到Oracle Grid Infrastructure安装的一个目录级别,并将安装所有者的主要组指定为Oracle清单组。
OINSTALL组必须是服务器上所有Oracle软件安装所有者的主要组。任何Oracle安装所有者都应该具有写权限。
1.3用于Oracle数据库安装的Oracle用户环境配置清单
1.3.1 查看Oracle安装备份存储路径(oraInventory)和OINSTALL组要求
指定为Oracle Inventory目录的物理组是系统上安装的Oracle软件的中央目录。它应该是所有Oracle软件安装所有者的主要组。以Oracle清单组为主要组的用户被授予OINSTALL权限,以读写中央清单。
如果已安装,则OUI会从/etc/oraInst.loc文件中检测到现有的oraInventory目录,并使用此位置。
如果是首次安装Oracle软件,则OUI会创建Oracle基本清单和中央清单,并使用以下优先级的信息来创建Oracle清单:
在ORACLE_BASE环境变量中为安装所有者用户帐户设置的路径中。
在用户主目录中的路径/app/owner中,其中owner是运行安装的用户帐户的名称。 确保指定为OINSTALL组的组可用作所有计划的Oracle软件安装所有者的主要组。
1.3.2 为标准或角色分配的系统权限创建操作系统组和用户
如本安装指南所述,根据的安全要求创建操作系统组和用户。
为Oracle软件安装所有者设置资源限制设置和其他要求。
组名和用户名只能使用ASCII字符。
1.3.3 重置Oracle软件环境变量
如果的系统上已有安装,并且使用相同的用户帐户来安装此安装,请取消设置ORACLE_HOME,ORACLE_BASE,ORACLE_SID,TNS_ADMIN环境变量以及为连接的Oracle安装用户设置的任何其他环境变量Oracle软件主页。
1.3.4 配置Oracle软件所有者环境
通过执行以下任务来配置oracle或网格用户的环境:
在shell启动文件中将默认文件模式创建掩码(umask)设置为022。
设置DISPLAY环境变量。
2 检查和配置Oracle数据库客户端的服务器硬件
2.1 使用X Window系统登录远程系统
使用此过程通过登录到运行时设置禁止直接登录图形用户界面(GUI)的远程系统来运行Oracle Universal Installer(OUI)。
OUI是图形用户界面(GUI)应用程序。在运行时设置阻止GUI应用程序运行的服务器上,可以将GUI显示重定向到连接到服务器的客户端系统。
注意:如果以其他用户(例如oracle或grid)的身份登录,则也对该用户重复此过程。
启动X Window系统会话。如果从PC或类似系统上使用X Window系统终端仿真器,则可能需要配置安全设置,以允许远程主机在本地系统上显示X应用程序。
使用以下语法输入命令,以使远程主机能够在本地X服务器上显示X应用程序:
xhost + RemoteHost
RemoteHost是标准的远程主机名。例如:
xhost + somehost.example.com
somehost.example.com被添加到访问控制列表中
如果不在本地系统上安装软件,请使用ssh命令连接到要在其上安装软件的系统:
ssh -Y RemoteHost
RemoteHost是标准的远程主机名。-Y标志(“是”)使远程X11客户端可以完全访问原始X11显示器。例如:
ssh -Y somehost.example.com
如果没有以root用户身份登录,并且正在执行需要root用户权限的配置步骤,请将该用户切换为root用户。
注意:有关使用X Window System进行远程登录的更多信息,请参考X服务器文档,或与X服务器供应商或系统管理员联系。根据使用的X服务器软件,可能必须以不同的顺序完成任务。
2.2检查服务器硬件和内存配置
使用此过程来收集有关服务器配置的信息。
使用以下命令确定服务器上的物理RAM大小:
grep MemTotal /proc/meminfo
如果系统中安装的物理RAM的大小小于所需的大小,则必须安装更多的内存才能继续。
确定配置的交换空间的大小:
grep SwapTotal /proc/meminfo
确定/tmp目录中的可用空间量:
df –h /tmp
如果/tmp目录中的可用空间小于所需空间,请完成以下步骤之一:
从/tmp目录中删除不需要的文件,以满足磁盘空间要求。
设置Oracle用户的环境时,还要将TMP和TMPDIR环境变量设置为要使用的目录,而不是/tmp。
确定系统上的可用RAM和磁盘交换空间量:
free -m
确定系统体系结构是否可以运行软件:
uname -m
验证共享内存(/dev/shm)的安装大小是否正确:
df –h /dev/shm
df-h命令显示安装/dev/shm的文件系统,并以GB为单位显示共享内存的总大小和可用大小。
3 在Linux上为Oracle Database Client配置操作系统
3.1 x86-64 Linux平台的操作系统要求
x86-64上的此发行版支持本节中列出的Linux发行版和软件包。
确定Linux发行版的要求,并确保在开始安装之前已安装了受支持的内核和必需的软件包。
注意:
Oracle Universal Installer需要一个X Window系统(例如libx)。libx软件包是默认Linux安装的一部分。如果在软件包减少的系统上执行安装,则必须确保安装了libx或类似的X Window System软件包。
Oracle Database 12c第2版(12.2)和更高版本在用于Oracle数据库或Oracle Grid Infrastructure安装的Oracle Linux和Redhat Enterprise Linux上不需要编译器软件包gcc和gcc-c ++。
3.2 x86-64支持的Oracle Linux 7发行版
支持的发行版:
具有Unbreakable Enterprise Kernel 3:3.8.13-35.3.1.el7uek.x86_64或更高版本的Oracle Linux 7
具有Unbreakable Enterprise Kernel 4的Oracle Linux 7.2:4.1.12-32.2.3.el7uek.x86_64或更高版本
具有Redhat兼容内核的Oracle Linux 7:3.10.0-123.el7.x86_64或更高版本
· bc
· binutils-2.23.52.0.1-12.el7(x86_64)
· compat-libcap1-1.10-3.el7(x86_64)
· compat-libstdc ++-33-3.2.3-71.el7(i686)
· compat-libstdc ++-33-3.2.3-71.el7(x86_64)
· glibc-2.17-36.el7(i686)
· glibc-2.17-36.el7(x86_64)
· glibc-devel-2.17-36.el7(i686)
· glibc-devel-2.17-36.el7(x86_64)
· sh
· libaio-0.3.109-9.el7(i686)
· libaio-0.3.109-9.el7(x86_64)
· libaio-devel-0.3.109-9.el7(i686)
· libaio-devel-0.3.109-9.el7(x86_64)
· libX11-1.6.0-2.1.el7(i686)
· libX11-1.6.0-2.1.el7(x86_64)
· libXau-1.0.8-2.1.el7(i686)
· libXau-1.0.8-2.1.el7(x86_64)
· libXi-1.7.2-1.el7(i686)
· libXi-1.7.2-1.el7(x86_64)
· libXtst-1.2.2-1.el7(i686)
· libXtst-1.2.2-1.el7(x86_64)
· libXrender(i686)
· libXrender(x86_64)
· libXrender-devel(i686)
· libXrender-devel(x86_64)
· libgcc-4.8.2-3.el7(i686)
· libgcc-4.8.2-3.el7(x86_64)
· libstdc ++-4.8.2-3.el7(i686)
· libstdc ++-4.8.2-3.el7(x86_64)
· libstdc ++-devel-4.8.2-3.el7(i686)
· libstdc ++-devel-4.8.2-3.el7(x86_64)
· libxcb-1.9-5.el7(i686)
· libxcb-1.9-5.el7(x86_64)
· make-3.82-19.el7(x86_64)
· nfs-utils-1.3.0-0.21.el7.x86_64(对于Oracle ACFS)
· net-tools-2.0-0.17.20131004git.el7(x86_64)(对于Oracle RAC和Oracle Clusterware)
· smartmontools-6.2-4.el7(x86_64)
· sysstat-10.1.5-1.el7(x86_64)
3.3 x86-64支持的Redhat Enterprise Linux 7发行版
· 公元前
· binutils-2.23.52.0.1-12.el7(x86_64)
· compat-libcap1-1.10-3.el7(x86_64)
· compat-libstdc ++-33-3.2.3-71.el7(i686)
· compat-libstdc ++-33-3.2.3-71.el7(x86_64)
· glibc-2.17-36.el7(i686)
· glibc-2.17-36.el7(x86_64)
· glibc-devel-2.17-36.el7(i686)
· glibc-devel-2.17-36.el7(x86_64)
· sh
· libaio-0.3.109-9.el7(i686)
· libaio-0.3.109-9.el7(x86_64)
· libaio-devel-0.3.109-9.el7(i686)
· libaio-devel-0.3.109-9.el7(x86_64)
· libgcc-4.8.2-3.el7(i686)
· libgcc-4.8.2-3.el7(x86_64)
· libstdc ++-4.8.2-3.el7(i686)
· libstdc ++-4.8.2-3.el7(x86_64)
· libstdc ++-devel-4.8.2-3.el7(i686)
· libstdc ++-devel-4.8.2-3.el7(x86_64)
· libxcb-1.9-5.el7(i686)
· libxcb-1.9-5.el7(x86_64)
· libX11-1.6.0-2.1.el7(i686)
· libX11-1.6.0-2.1.el7(x86_64)
· libXau-1.0.8-2.1.el7(i686)
· libXau-1.0.8-2.1.el7(x86_64)
· libXi-1.7.2-1.el7(i686)
· libXi-1.7.2-1.el7(x86_64)
· libXtst-1.2.2-1.el7(i686)
· libXtst-1.2.2-1.el7(x86_64)
· libXrender(i686)
· libXrender(x86_64)
· libXrender-devel(i686)
· libXrender-devel(x86_64)
· make-3.82-19.el7(x86_64)
· net-tools-2.0-0.17.20131004git.el7(x86_64)(对于Oracle RAC和Oracle Clusterware)
· nfs-utils-1.3.0-0.21.el7.x86_64(对于Oracle ACFS)
· smartmontools-6.2-4.el7(x86_64)
· sysstat-10.1.5-1.el7(x86_64)
4 为Oracle数据库客户端配置用户,组和环境
在安装之前,请创建操作系统组和用户,并配置用户环境。
4.1 所需的操作系统组和用户
Oracle软件安装需要安装所有者,Oracle Inventory组(这是所有Oracle安装所有者的主要组)以及至少一个指定为系统权限组的组。
与系统管理员一起查看组和用户选项。如果具有系统管理权限,请查看本节中的主题并根据需要配置操作系统组和用户。
4.1.1 确定是否存在Oracle安装备份存储路径和Oracle安装备份存储路径组
确定是否已有Oracle中央清单,并确保所有Oracle软件安装都使用相同的Oracle清单。另外,请确保打算用于安装的所有Oracle软件用户均具有写入此目录的权限。
首次在系统上安装Oracle软件时,OUI将创建 oraInst.loc 文件。该文件标识Oracle安装备份存储路径清单组的名称(默认情况下为 oinstall)以及Oracle中央安装备份存储路径目录的路径。如果有现有的Oracle中央清单,请确保对所有Oracle软件安装都使用相同的Oracle清单,并确保要用于安装的所有Oracle软件用户均具有写入此目录的权限。
oraInst.loc 文件包含在下面的格式,其中central_inventory_location是路径到现有的Oracle中央清单,和 组 是其成员有权限写入到中央安装备份存储路径操作系统组的名称:
stock_loc=central_inventory_location
inst_group=group
使用 more 命令确定系统上是否有Oracle中央清单。例如:
more /etc/oraInst.loc
ventory_loc =/u01/app/ora
inst_group=oinstall
使用命令 grep groupname/etc/group 确认指定为Oracle Inventory组的组在系统上仍然存在。例如:
grep oinstall /etc/group
输出:
oinstall:x:54321:grid,oracle
注意: 请勿将oraInventory 目录放置在 Oracle基本目录下进行新安装,因为这可能导致其他安装的用户权限错误。
4.1.2 如果不存在Oracle安装备份存储路径,则创建Oracle安装备份存储路径组
作为计划安装的一部分,尤其是在服务器上安装了多个Oracle软件产品的情况下,手动创建Oracle安装备份存储路径清单组。
默认情况下,如果oraInventory组不存在,则安装程序将要安装的Oracle软件的安装所有者的主要组用作oraInventory组。确保该组可用作所有计划的Oracle软件安装所有者的主要组。
如果 oraInst.loc 文件不存在,则通过输入类似于以下内容的命令来创建Oracle安装备份存储路径组:
/usr/sbin/groupadd -g 54321 oinstall
4.1.3 关于Oracle安装所有者帐户
根据要用于安装的组和用户管理计划,选择或创建安装的Oracle安装账号。
在以下情况下,必须为安装创建一个软件账号:
如果Oracle软件所有者用户不存在;例如,如果这是系统上首次安装Oracle软件。
如果存在Oracle软件所有者用户,但是想要使用具有不同组成员身份的其他操作系统用户来将Oracle Grid Infrastructure管理权限与Oracle数据库管理权限分开。
在Oracle文档中,创建为仅拥有Oracle Grid Infrastructure软件安装的用户称为Grid用户(grid)。该用户同时拥有Oracle Clusterware和Oracle ASM二进制文件。创建拥有所有Oracle安装或Oracle数据库安装的用户称为Oracle用户(oracle)。只能有一个Oracle Grid Infrastructure安装所有者,但是可以有不同的Oracle用户来拥有不同的安装。
Oracle软件所有者必须将Oracle Inventory组作为其主要组,以便每个Oracle软件安装所有者可以写入中央目录(oraInventory),并正确设置OCR和Oracle Clusterware资源权限。数据库软件所有者还必须具有OSDBA组,并且(如果创建了它们)将OSOPER,OSBACKUPDBA,OSDGDBA,OSRACDBA和OSKMDBA组作为辅助组。
4.1.4 识别Oracle软件所有者用户帐户
首次在系统上安装Oracle软件时,必须至少创建一个软件所有者用户帐户。使用现有的Oracle软件用户帐户,或为安装创建Oracle软件所有者用户帐户。
要使用现有的用户帐户,请从系统管理员处获取现有Oracle安装所有者的名称。确认现有所有者是Oracle安装备份存储路径管理组的成员。
例如,如果知道Oracle Inventory组的名称为oinstall,则应将Oracle软件所有者列为oinstall的成员。
grep "oinstall" /etc/group
oinstall:x:54321:oracle
然后,可以使用ID命令来验证打算使用的Oracle安装所有者是否将Oracle Inventory组作为其主要组。例如:
id oracle
uid=54321(oracle) gid=54321(oinstall) group=54321(oper),54322(dba)
创建操作系统组后,根据操作系统身份验证计划创建或修改Oracle用户帐户。
4.2 创建操作系统Oracle安装用户帐户
4.2.1 创建Oracle软件所有者用户
如果Oracle软件所有者用户(oracle)不存在,或者需要一个新的Oracle软件所有者用户,则按照本节中的说明创建它。
下面的示例演示如何创建用户ID为54321 的用户 oracle,隶属于主要组oinstall 和附属组dba。
/usr/sbin/useradd -u 54321 -g oinstall -G dba,oracle
必须记下安装用户的用户ID号,因为在预安装期间需要它。
对于Oracle Grid Infrastructure安装,所有候选节点上的用户ID和组ID必须相同。
4.2.2 Oracle软件所有者的环境要求
必须进行以下更改才能配置Oracle软件所有者环境:
在shell启动文件中将安装软件所有者用户(grid,oracle)的默认文件模式创建掩码(umask)设置为022。将掩码设置为022可确保执行软件安装的用户创建具有644权限的文件。
为安装软件所有者(grid,oracle)的文件描述符和进程设置ulimit设置。
设置DISPLAY环境变量,以准备运行Oracle Universal Installer(OUI)安装。
警告:如果已经安装了现有的Oracle安装,并且使用的用户ID是的Oracle Grid Infrastructure软件所有者,那么请取消设置该用户的所有Oracle环境变量设置。
4.2.3 配置Oracle软件所有者环境的过程
配置每个Oracle安装所有者用户帐户环境:
在运行安装的服务器上启动X终端会话(xterm)。
输入以下命令以确保X Window应用程序可以在此系统上显示,其中hostname是要从中访问服务器的本地主机的标准名称:
$ xhost + hostname
如果没有以软件所有者用户身份登录,请切换到要配置的软件所有者用户。例如,对于用户网格:
$ su - grid
在无法运行su命令的系统上,请改用sudo:
$ sudo -u grid -s
要确定用户的默认shell程序,请输入以下命令:
$ echo $ SHELL
在任何文本编辑器中打开用户的Shell启动文件:
$ vi .bash_profile
输入或编辑以下行,为默认文件模式创建掩码指定值022:
umask 022
如果在文件中设置了ORACLE_SID,ORACLE_HOME或ORACLE_BASE环境变量,则从文件中删除这些行。
保存文件,然后退出文本编辑器。
要运行shell启动脚本,请输入以下命令之一:
. ./.bash_profile
使用以下命令检查PATH环境变量:
echo $PATH
删除所有Oracle环境变量。
验证umask命令显示的值为22、022或0022,并且在本节中设置的环境变量具有正确的值。
4.2.4 取消设置Oracle安装环境变量
开始安装之前,请取消设置Oracle安装所有者环境变量。
如果为运行安装所使用的Oracle安装所有者帐户设置的环境变量设置为与安装所需值冲突的值,则可能导致问题。
如果的系统上已有安装,并且使用相同的用户帐户来安装此安装,请取消设置以下环境变量:ORA_CRS_HOME,ORACLE_HOME,ORA_NLS10,TNS_ADMIN以及为Oracle安装用户设置的任何其他环境变量与Oracle软件主页相连。
另外,确保$ORACLE_HOME/bin 从PATH环境变量中删除该路径。